NR_IRQS. Allows removal of redundant check in pirq_guest_bind().
Signed-off-by: Keir Fraser <keir@xensource.com>
{
if (iomem_permit_access(d, 0UL, ~0UL))
BUG();
- if (irqs_permit_access(d, 0, NR_PIRQS-1))
+ if (irqs_permit_access(d, 0, NR_IRQS-1))
BUG();
}
int irq;
shared_info_t *s = d->shared_info;
- for ( irq = find_first_bit(d->pirq_mask, NR_PIRQS);
- irq < NR_PIRQS;
- irq = find_next_bit(d->pirq_mask, NR_PIRQS, irq+1) )
+ for ( irq = find_first_bit(d->pirq_mask, NR_IRQS);
+ irq < NR_IRQS;
+ irq = find_next_bit(d->pirq_mask, NR_IRQS, irq+1) )
{
desc = &irq_desc[irq];
spin_lock_irq(&desc->lock);
/* DOM0 is permitted full I/O capabilities. */
rc |= ioports_permit_access(dom0, 0, 0xFFFF);
rc |= iomem_permit_access(dom0, 0UL, ~0UL);
- rc |= irqs_permit_access(dom0, 0, NR_PIRQS-1);
+ rc |= irqs_permit_access(dom0, 0, NR_IRQS-1);
/*
* Modify I/O port access permissions.
#include <asm/bitops.h>
#include <xen/delay.h>
#include <asm/apic.h>
+#include <asm/asm_defns.h>
#include <io_ports.h>
/*
unsigned int irq;
shared_info_t *s = d->shared_info;
- for ( irq = find_first_bit(d->pirq_mask, NR_PIRQS);
- irq < NR_PIRQS;
- irq = find_next_bit(d->pirq_mask, NR_PIRQS, irq+1) )
+ for ( irq = find_first_bit(d->pirq_mask, NR_IRQS);
+ irq < NR_IRQS;
+ irq = find_next_bit(d->pirq_mask, NR_IRQS, irq+1) )
{
if ( !test_bit(d->pirq_to_evtchn[irq], s->evtchn_mask) )
__pirq_guest_eoi(d, irq);
int rc = 0;
cpumask_t cpumask = CPU_MASK_NONE;
- if ( (irq < 0) || (irq >= NR_IRQS) )
- return -EINVAL;
-
retry:
vector = irq_to_vector(irq);
if ( vector == 0 )
return regs->eax;
}
+#include <asm/asm_defns.h>
BUILD_SMP_INTERRUPT(deferred_nmi, TRAP_deferred_nmi)
fastcall void smp_deferred_nmi(struct cpu_user_regs *regs)
{
unsigned int pirq = op->u.irq_permission.pirq;
ret = -EINVAL;
- if ( pirq >= NR_PIRQS )
+ if ( pirq >= NR_IRQS )
break;
ret = -ESRCH;
#include <xen/config.h>
#include <asm/atomic.h>
-#include <asm/asm_defns.h>
#include <irq_vectors.h>
#define IO_APIC_IRQ(irq) (((irq) >= 16) || ((1<<(irq)) & io_apic_irqs))
#include <xen/rangeset.h>
#include <asm/domain.h>
#include <xen/xenoprof.h>
+#include <xen/irq.h>
extern unsigned long volatile jiffies;
extern rwlock_t domlist_lock;
* domain's event-channel spinlock. Read accesses can also synchronise on
* the lock, but races don't usually matter.
*/
-#define NR_PIRQS 256 /* Put this somewhere sane! */
- u16 pirq_to_evtchn[NR_PIRQS];
- DECLARE_BITMAP(pirq_mask, NR_PIRQS);
+ u16 pirq_to_evtchn[NR_IRQS];
+ DECLARE_BITMAP(pirq_mask, NR_IRQS);
/* I/O capabilities (access to IRQs and memory-mapped I/O). */
struct rangeset *iomem_caps;